home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / demos / VisualAge for Java 2.0 Entry / setup / data1.cab / ide-e / IDE / cache / 2ETFIR (.txt) < prev    next >
Encoding:
Java Class File  |  1998-09-16  |  1.6 KB  |  74 lines

  1. package java.awt;
  2.  
  3. abstract class MediaEntry {
  4.    MediaTracker tracker;
  5.    // $FF: renamed from: ID int
  6.    int field_0;
  7.    MediaEntry next;
  8.    int status;
  9.    boolean cancelled;
  10.    private static final long serialVersionUID = -2924957284304726459L;
  11.    static final int LOADING = 1;
  12.    static final int ABORTED = 2;
  13.    static final int ERRORED = 4;
  14.    static final int COMPLETE = 8;
  15.    static final int LOADSTARTED = 13;
  16.    static final int DONE = 14;
  17.  
  18.    MediaEntry(MediaTracker mt, int id) {
  19.       this.tracker = mt;
  20.       this.field_0 = id;
  21.    }
  22.  
  23.    void cancel() {
  24.       this.cancelled = true;
  25.    }
  26.  
  27.    int getID() {
  28.       return this.field_0;
  29.    }
  30.  
  31.    abstract Object getMedia();
  32.  
  33.    synchronized int getStatus(boolean doLoad, boolean doVerify) {
  34.       if (doLoad && (this.status & 13) == 0) {
  35.          this.status = this.status & -3 | 1;
  36.          this.startLoad();
  37.       }
  38.  
  39.       return this.status;
  40.    }
  41.  
  42.    static MediaEntry insert(MediaEntry head, MediaEntry me) {
  43.       MediaEntry cur = head;
  44.  
  45.       MediaEntry prev;
  46.       for(prev = null; cur != null && cur.field_0 <= me.field_0; cur = cur.next) {
  47.          prev = cur;
  48.       }
  49.  
  50.       me.next = cur;
  51.       if (prev == null) {
  52.          head = me;
  53.       } else {
  54.          prev.next = me;
  55.       }
  56.  
  57.       return head;
  58.    }
  59.  
  60.    void setStatus(int flag) {
  61.       synchronized(this){}
  62.  
  63.       try {
  64.          this.status = flag;
  65.       } catch (Throwable var4) {
  66.          throw var4;
  67.       }
  68.  
  69.       this.tracker.setDone();
  70.    }
  71.  
  72.    abstract void startLoad();
  73. }
  74.